Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Practice Hack 2.6.0 rollup #202

Merged
merged 18 commits into from
Mar 7, 2024
Merged

Practice Hack 2.6.0 rollup #202

merged 18 commits into from
Mar 7, 2024

Conversation

idlechild
Copy link
Collaborator

Kraid rocks ended up being the answer; credit to metconst for suggesting it... although I was correct that their solution was overkill. Their suggestion took the "laggier" fight and made it on par with the "laggy" fight. I just created optimized versions of the routines, which was also overkill so then I only optimized one of the two routines.

I primarily tested with Samus in the KQK position but remaining morphed the whole time and then measured how many RTA frames it took to execute the 9 seconds of IGT from start of Kraid rising. Despite this being a fairly controlled scenario, I found that varying the time I spent loitering in prior room affected lag by 1-4 frames.

2.5.12.1: "Laggier" Kraid is 139-143 lag frames, "Laggy" Kraid is 61-64 lag frames
2.5.12.2: "Laggier" Kraid is 125-126 lag frames, "Laggy" Kraid is 52-53 lag frames
Vanilla: "Laggier" Kraid is 123-125 lag frames, "Laggy" Kraid is 51-52 lag frames

I'm going to post ips files on the discord in case anyone wants to test it.

Oh also, despite using version 2.5.12.2, I don't mean for this to be a hotfix. It can go in the next regular update along other changes.

@idlechild
Copy link
Collaborator Author

Built something granular for clearing enemies. No more kihunter wings. Kept the bosses alive as that's usually desired (if you already killed the boss then clearing enemies has no effect anyway). The choices for what to keep/what to clear might need to be tweaked but it's easy to do so. I haven't tested PAL but I expect it to work there too.

InsaneFirebat and others added 11 commits March 6, 2024 19:44
on non-Windows platforms, this isn't caught by tools/*.exe
Add an option to boot directly to the InfoHUD menu instead of the
Nintendo splash. The sound engine is also loaded asynchronously in the
menu, elimiating the delay for it to initialize. This reduces the time
from power-on to practice menu to about half a second.

The option is under the Cutscenes menu.
...to prevent conflicting SPC register writes. I don't think this could
cause any problems, but it's best to be safe.
this is what i get for committing at 1am
We set the high bit of $2115 to 0, which instructs the PPU to increment
the VRAM word address after writing the low data byte. However, the DMA
transfer writes low bytes first, then high bytes. This means the high
byte of the first word of a transfer was being skipped, leading to an
occasional glitchy tile. Setting the mode bit to 1 instead fixes the
issue.
@idlechild idlechild changed the title Optimize kraid rock projectiles to reduce lag when Kraid rises Practice Hack 2.6.0 rollup Mar 7, 2024
@idlechild
Copy link
Collaborator Author

Okay are we ready to release this? What's the verdict on those glitch tiles? I don't really care; anyone should be able to put their changes onto this PR to set it how they want.

@NobodyNada
Copy link
Collaborator

I'm working on a patch for the glitched tiles right now.

@idlechild
Copy link
Collaborator Author

Same for the release notes, can leave it with the todo, or go with the nintendo staple:
"General system improvements to enhance the user's experience."
Or perhaps something else

@NobodyNada
Copy link
Collaborator

I feel like quickboot and Kraid lag reduction would benefit from real release notes, since those are changes that directly impact how people might choose to use the practice hack.

@idlechild
Copy link
Collaborator Author

We can always add those later (probably update help later too), and I shared the Kraid stuff on discord already, and quick boot is defaulted off unless you have the dev build

@idlechild
Copy link
Collaborator Author

idlechild commented Mar 7, 2024

I was originally thinking there'd be some toggle for the Kraid behavior, but it ended up not being that dramatic of a difference, and it's not like it was correct before. I'm sure it's not correct now either; it's just closer.

I'm just keen to see [redacted] revealed by people discovering it. Bumping up to 2.6.0 with no release notes could get the job done :)

Or maybe I'm alone in this.

IFB any thoughts? What's a good time to drop this? Or am I out-of-the-loop and you've already shared it with a bunch of people?

@InsaneFirebat
Copy link
Collaborator

All good here. A few people know about them but it's generally still unknown. I was planning to leave it out of the update notes.

@idlechild
Copy link
Collaborator Author

Alright I got outvoted on the vague release notes, now added

@NobodyNada
Copy link
Collaborator

I think the "general improvements" one would be funny to add on the end, just to hint that there's something fun in there, but it's your call :)

@idlechild idlechild merged commit 6c1a836 into tewtal:master Mar 7, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants